package com.cw.java8.stream;

import java.util.LinkedList;
import java.util.List;

/**
 * 流式操作04
 */
public class StreamTest04 {

    public static void main(String[] args) {

        List<Integer> lists = new LinkedList<>();
        lists.add(4);
        lists.add(5);
        lists.add(1);
        lists.add(3);
        lists.add(2);
        lists.add(5);

        //1.末端操作：全量匹配
        //检查流中的所有元素是否都满足给定条件。
        System.out.println(lists.stream().allMatch(i -> i > 5));

        //2.末端操作：任意匹配
        //检查流中是否存在满足给定条件的元素。
        System.out.println(lists.stream().anyMatch(i -> i > 5));

        //3.末端操作：全不匹配
        //检查流中的所有元素是否都不满足给定条件。
        System.out.println(lists.stream().noneMatch(i -> i > 5000));

        //4.末端操作：寻找任意元素
        System.out.println("findAny: " + lists.stream().findAny().get());

        //5.末端操作：寻找第一个元素
        System.out.println(lists.stream().findFirst().get());
    }
}
